home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Merciful 2
/
Merciful - Disc 2.iso
/
software
/
t
/
toeutilities25.dms
/
toeutilities25.adf
/
Cpu
/
PCInhibit030.asm
< prev
next >
Wrap
Assembly Source File
|
1995-08-05
|
2KB
|
111 lines
; PCInhibit030 v1.0 (17.4.95)
; (c) by Martin Berndt
;
; TAB-Size: 10
START move.l $4.w,a6
cmpi.w #37,LIB_VERSION(a6)
bcs.s Quit
jsr _LVOForbid(a6)
move.w AttnFlags(a6),d0
btst #AFB_68030,d0
beq.s Quit0
btst #AFB_68040,d0
bne.s Quit0
lea LibList(a6),a0
lea expname(pc),a1
jsr _LVOFindName(a6)
tst.l d0
beq.s Quit0
move.l d0,a4
exg a4,a6
moveq #1,d2
lea Products(pc),a2
loop1 suba.l a0,a0
movem.l (a2)+,d0-d1
jsr _LVOFindConfigDev(a6)
tst.l d0
bne.s FoundCD
dbf d2,loop1
bra.s Quit0
FoundCD exg a4,a6
move.l d0,a0
movem.l cd_BoardAddr(a0),d5-d6
tst.l d5
beq.s Quit0
lea GetTC(pc),a5
jsr _LVOSupervisor(a6)
move.l d0,d7
bpl.s Quit0
lea TC_REGs(pc),a0
moveq #3,d0
moveq #0,d4
loop2 cmp.l (a0)+,d7
beq.s Main
addq.l #1,d4
dbf d0,loop2
Quit0 jsr _LVOPermit(a6)
Quit moveq #0,d0
rts
Main jsr _LVODisable(a6)
moveq #0,d0
lea SetTC(pc),a5
jsr _LVOSupervisor(a6)
lea GetCRP(pc),a5
jsr _LVOSupervisor(a6)
move.l d0,a0
move.l (a0),d0
moveq #-16,d1
and.w d1,d0
move.l d0,a0
loop3 move.l (a0)+,d0
and.w d1,d0
cmp.l d5,d0
bne.s loop3
add.l d6,d5
loop4 bset #6,-1(a0)
move.l (a0)+,d0
and.w d1,d0
cmp.l d5,d0
bcs.s loop4
skip move.l d7,d0
lea SetTC(pc),a5
jsr _LVOSupervisor(a6)
jsr _LVOEnable(a6)
jsr _LVOCacheClearU(a6)
bra.s Quit0
opt p=68030
GetTC clr.l -(sp)
pmove.l tc,(sp)
move.l (sp)+,d0
rte
GetCRP subq.w #8,sp
pmove.d crp,(sp)
addq.w #4,sp
move.l (sp)+,d0
rte
SetTC move.l d0,-(sp)
pmove.l (sp),tc
pflusha
addq.w #4,sp
rte
Products dc.l 513,103 ; A2386-SX
dc.l 513,1 ; A2086, A2286
TC_REGs dc.l $80F17324 ; CPU-Control
dc.l $80F17540 ; C= CPU
dc.l $80F08630 ; A3000
dc.l $80F0D400 ; SoftBoot
dc.b "$VER: PCInhibit030 1.0 (17.4.95)",0
expname dc.b "expansion.library",0
end